awesome-mysql
    
      A curated list of awesome MySQL free and opensource software, libraries
      and resources.
      
    
    
      This list accepts and encourages pull requests. See
      CONTRIBUTING
    
    Contents
    
    Analysis
    Performance, structure & data analysis tools
    
      - 
        Anemometer - Box SQL
        slow query monitor.
      
 
      - 
        innodb-ruby - A
        parser for InnoDB file formats, in Ruby.
      
 
      - 
        innotop - a ‘top’ clone
        for MySQL with many features and flexibility.
      
 
      - 
        MySQL Explain Analyzer
        - A web-based analyzer of 
EXPLAIN FORMAT=JSON output,
        providing comments, scalability analysis and permalinks for saved
        samples.
       
      - 
        mysql-statsd - A
        Python daemon to collect information from MySQL and send it via StatsD
        to Graphite.
      
 
      - 
        MySQLTuner-perl - A script that
        allows you to review a MySQL installation quickly and make adjustments
        to increase performance and stability.
      
 
      - 
        Percona Monitoring and Management
        - An open-source platform for managing and monitoring MySQL performance.
      
 
      - 
        Prometheus/mysqld_exporter
        - Time series database for real-time monitoring and alerting.
      
 
      - 
        pstop - a top-like
        program for MySQL, collecting, aggregating and displaying information
        from performance_schema. ## Backup
      
 
    
    Backup/restore/recovery tools
    
      - 
        Dumpling - Logical,
        parallel backup/dumper tool for MySQL/TiDB written in GoLang - support
        csv format output and integrated as library
      
 
      - 
        MyDumper - Logical,
        parallel backup/dumper tool for MySQL
      
 
      - 
        MySQLDumper - open-source web
        based backup tool - useful for shared webhosting
      
 
      - 
        Percona Xtrabackup
        - an open-source hot backup utility for MySQL - based servers that
        doesn’t lock your database during the backup.
      
 
    
    Benchmarking
    Tools to stress your servers
    
      - 
        iibench-mysql
        - Java based version of the Index Insertion Benchmark for
        MySQL/Percona/MariaDB.
      
 
      - 
        go-tpc - A golang port
        of TPCC and
        TPCH benchmark for MySQL.
      
 
      - 
        Sysbench - a modular,
        cross-platform and multi-threaded benchmark tool.
      
 
      - 
        TPCC-MySQL
        - A port of the popular
        TPCC benchmark for MySQL.
      
 
    
    Binlog-Replication
    
      - 
        DM - A High-Availability
        data migration platform which supports migrating data from MySQL/MariaDB
        to TiDB and merging shard tables
      
 
      - 
        Kingbus - A distributed
        MySQL binlog storage system built on Raft
      
 
      - 
        mysql-ripple -
        Ripple, a server that can serve as a middleman in MySQL replication
      
 
    
    ChatOps
    Scripts integrated into chat rooms
    
    Configuration
    MySQL sample configuration and advisors
    
    Connectors
    MySQL connectors for various programming languages
    
      - 
        Connector/C -
        Official C driver for MySQL.
      
 
      - 
        Connector/CPP
        - Official C++ driver for MySQL.
      
 
      - 
        Connector/J -
        a standardized database driver for the Java platforms and development.
      
 
      - 
        Connector/Net
        - a standardized database driver for .Net platforms and development.
      
 
      - 
        Connector/Node.js
        - Official Node.js driver for MySQL.
      
 
      - 
        Connector/Python
        - a standardized database driver for Python platforms and development.
      
 
      - 
        DBD::mysql - MySQL
        driver for the Perl5 Database Interface.
      
 
      - 
        go-sql-driver - a
        lightweight and fast MySQL-Driver for Go’s (golang) database/sql
        package.
      
 
      - 
        libAttachSQL
        - libAttachSQL is a lightweight, non-blocking C API for MySQL servers.
      
 
      - 
        MariaDB Java Client
        - LGPL-licensed MariaDB Client Library for Java Applications.
      
 
      - 
        mex-mariadb - MIT
        licensed MariaDB/MySQL Client Library for GNU Octave and Matlab.
      
 
      - 
        mysqlclient-python
        - (Old) MySQL database connector for Python.
      
 
      - 
        node-mysql - A pure
        Nodejs Javascript client implementing the MySQL protocol.
      
 
      - 
        PHP mysqlnd
        - MySQL native driver for MySQL, deprecating older libmysql based
        driver.
      
 
      - 
        PyMySQL - MySQL
        database connector for Python.
      
 
      - 
        Ruby Mysql2 gem -
        MySQL driver for Ruby and Rails projects.
      
 
    
    Deployment
    MySQL deployment tools
    
      - 
        MySQL Docker - Official
        Docker images.
      
 
      - 
        dbdeployer - A tool that
        installs one or more MySQL servers within seconds, easily, securely, and
        with full control.
      
 
    
    Development
    Tools to support MySQL-related development
    
      - 
        Flywaydb - Database
        migrations; Evolve your database schema easily and reliably across all
        your instances
      
 
      - 
        Liquibase - Source control for
        your database
      
 
      - 
        Shift - An application
        that helps you run schema migrations on MySQL databases
      
 
      - 
        Skeema - Declarative pure-SQL schema
        management system for MySQL and MariaDB, with support for sharding and
        external online schema change tools
      
 
      - 
        Test database - A
        sample MySQL database with an integrated test suite, used to test
        applications and servers
      
 
    
    GUI
    GUI frontends & applications
    
      - 
        Adminer - Database management in
        a single PHP file.
      
 
      - 
        HeidiSQL - MySQL GUI frontend for
        Windows.
      
 
      - 
        mycli - A Terminal Client
        for MySQL with AutoCompletion and Syntax Highlighting.
      
 
      - 
        MySQL Shell -
        Advanced client and code editor for MySQL that supports development and
        administration for the MySQL Server and MySQL InnoDB cluster (AdminAPI)
        with an interactive JavaScript, Python, or SQL interface.
      
 
      - 
        MySQL Workbench
        - provides DBAs and developers an integrated tools environment for
        database design & modeling; SQL devleopment; database
        administration.
      
 
      - 
        Ocelot GUI - GUI
        client for MySQL or MariaDB, including debugger.
      
 
      - 
        Percona Monitoring and Management
        - An open-source platform for managing and monitoring MySQL performance.
      
 
      - 
        phpMyAdmin - a free software
        tool written in PHP, intended to handle the administration of MySQL over
        the Web.
      
 
      - 
        pspg - provides a pager with
        enhanced visualization and navigation for tabular data. Originally
        implemented for PostgreSQL, but also supports MySQL.
      
 
      - 
        SequelPro - a Mac
        database management application for working with MySQL databases.
      
 
      - 
        SQLyog Community edition
        - SQLyog Community edition. For Windows, works fine under wine in Mac
        and Linux
      
 
      - 
        DBeaver - A
        cross-platform SQL and NoSQL database client.
      
 
      - 
        OmniDB/OmniDB: Web tool for database management
      
 
    
    HA
    High availability solutions
    
      - 
        Galera Cluster - a true
        Multimaster Cluster based on synchronous replication.
      
 
      - 
        MHA - Master
        High Availability Manager and tools for MySQL.
      
 
      - 
        orchestrator -
        MySQL replication topology management and High Availability solution.
      
 
      - 
        Percona Replication Manager
        - Asynchronous MySQL replication manager agent for Pacemaker. Supports
        file and GTID based replication, geo-distributed clusters using booth.
      
 
      - 
        replication-manager
        - a high availability solution to manage MariaDB 10.x and MySQL &
        Percona Server 5.7 GTID replication topologies.
      
 
    
    Proxy
    Proxies to MySQL
    
      - 
        MaxScale -
        open-source, database-centric proxy.
      
 
      - 
        Mixer - a MySQL proxy
        powered by Go which aims to supply a simple solution for MySQL sharding.
      
 
      - 
        MySQL Proxy - A simple
        program that sits between your client and MySQL server(s) that can
        monitor, analyze or transform their communication.
      
 
      - 
        ProxySQL - High
        performance proxy for MySQL.
      
 
      - 
        MySQL Router -
        MySQL Router is part of InnoDB cluster, and is a lightweight middleware
        that provides transparent routing between your application and back-end
        MySQL Servers.
      
 
    
    Replication
    Replication related software
    Schema
    Add-on schemas
    
      - 
        common_schema
        - DBA’s framework for MySQL, providing a function library, views library
        and QueryScript interpreter.
      
 
      - 
        sys - A collection of
        views, functions and procedures to help MySQL administrators get insight
        in to MySQL Database usage.
      
 
    
    Security
    
      Tools that prevents leaking of sensitive data from database
        (encryption, masking and tokenization, honey-pots, etc)
    
    
      - 
        Acra - SQL database
        protection suite: strong selective encryption, SQL injections
        prevention, intrusion detection system.
      
 
    
    Server
    MySQL server flavors
    
      - 
        MariaDB - Community
        developed fork of MySQL server.
      
 
      - 
        MySQL Server & MySQL Cluster
        - Official Oracle’s MySQL server & MySQL Cluster distribution.
      
 
      - 
        Percona Server - An
        enhanced, drop-in MySQL replacement.
      
 
      - 
        TiDB - A distributed HTAP
        database compatible with the MySQL protocol.
      
 
    
    Sharding
    Sharding solutions/frameworks
    
      - 
        jetpants - An
        automation suite for managing large range sharding clusters, by Tumblr.
      
 
      - 
        vitess - vitess
        provides servers and tools which facilitate scaling of MySQL databases
        for large scale web services.
      
 
    
    
    Toolkits, general purpose scripts
    
      - 
        gh-ost - GitHub’s online
        schema migration for MySQL.
      
 
      - 
        go-mysql - A pure
        go library to handle MySQL network protocol and replication.
      
 
      - 
        MySQL Utilities
        - a collection of command-line utilities, written in Python, that are
        used for maintaining and administering MySQL servers, either
        individually, or within Replication hierarchies.
      
 
      - 
        openark kit - a
        set of utilities that solve everyday maintenance tasks, which may be
        complicated or time consuming to do by hand, written in Python.
      
 
      - 
        Percona Toolkit
        - a collection of advanced command-line tools to perform a variety of
        MySQL server and system tasks that are too difficult or complex to
        perform manually.
      
 
      - 
        UnDROP - a
        tool to recover data from dropped or corrupted InnoDB tables.
      
 
    
    Resources
    
      At this stage “resources” will not include websites, blogs, slides,
        presentation videos, etc. in fear of list size
    
    Conferences
    Public, recurring conferences on and around MySQL
    
      - 
        FOSDEM - a free event for software
        developers to meet, share ideas and collaborate. Annually, in Brussels.
        Offers “MySQL & friends” room.
      
 
      - 
        MySQL Central
        - Oracle’s annual MySQL conference, as part of Oracle Open World.
      
 
      - 
        Percona Live -
        MySQL & Openstack focused conference.
      
 
      - 
        SCALE - A community
        organized Linux and Open Source conference held annually in Southern
        California. The local MySQL community runs a track under the name MySQL
        Community Day.
      
 
    
    e-books
    e-books as well as relevant materials on and around MySQL
    
      - 
        Database Systems Lecture Notes
        - lecture notes on Database Systems (available in pdf, html, odt and
        markdown) including a Chapter on SQL that covers basic set-up, exercises
        and problems.
      
 
      - 
        SQL-exercise -
        contains several SQL exercises, including the schema description figure,
        SQL code to build schema, questions and solutions in SQL. Based on
        wikibook
        SQL Exercises.
      
 
    
    
    
      Public, ongoing video & audio casts. This excludes conference
        presentations in fear of list size
    
    Newsletters
    
      Newsletters require an email address, by definition. List below are
        newsletters that require nothing but an email address